// components/sift-playlists/sift-playlists.js
import request from '../../request/index'
//使用 async await 语法必须引入，固定写法。
import regeneratorRuntime from '../../utils/runtime'
Component({
  /**
   * 组件的属性列表
   */
  options:{
    "styleIsolation": "apply-shared"
  },
  properties: {

  },
  // 组件所在页面的生命周期
  pageLifetimes: {
    show: function() {
      // 页面被展示
    },
    hide: function() {
      // 页面被隐藏
    },
    resize: function(size) {
      // 页面尺寸变化
    }
  },
  //组件生命周期
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
      this.getRecommendPlaylists()
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    totalPlaylists:[],//总歌单
    playlists:[],//部分歌单
    startEnd:[0,6],//换一批下标标识
  },

  /**
   * 组件的方法列表
   */
  methods: {
    //获取精品歌单
    async getRecommendPlaylists() {
      const result = await request({url:'personalized',data:{limit:24}})
      // console.log(result)
      if(result.code === 200) {
        const playlists = result.result.slice(0,6)
        this.setData({totalPlaylists:result.result,playlists})
        return
      }
      console.log("获取歌单失败",result)
    },
    //换一批
    replaceBatch() {
      const [first, second] = this.data.startEnd
      let start = first + 6
      let end = second + 6
      if(end > 24){
        start = 0,
        end = 6
      }
      let playlists = this.data.totalPlaylists.slice(start,end)
      this.setData({startEnd:[start,end]})
      this.setData({playlists})
    },
    //去到歌单详情页面
    goDetailPlaylist(event) {
      const {id} = event.currentTarget.dataset
      wx.navigateTo({url: '/pages/playlist-detail/playlist-detail?id='+ id})
    }
  }
})
